1. Field of the Invention
The present invention relates to an installed type of data management unit, a computer system and a computer-readable storage medium, which permit at least one terminal to obtain data stored on a predetermined computer in the computer system, such as a supervisory control system for supervising and controlling an equipment device related to electric power, gas or water service, an information processing system and so on, and to set data to the computer.
2. Description of the Related Art
FIG. 45 shows the schematic structure of a conventional supervisory control system for supervising and controlling a plurality of equipment devices concerning electric power, gas or water service.
In a supervisory control system shown in FIG. 45, real time data (real time state data) indicating the real states of equipment devices (objects) S1, S2, . . . (two equipment devices in the structure shown in FIG. 45) which are objects for supervisory control is transmitted to a control computer 101 through a private (leased) network 100. Receiving and accumulating processes are performed by a database access process unit (module) 102 of the control computer 101 in accordance with a data access (operation) program 103 stored on the database access process unit 102. Thus, the real time state data (for example, data 1 and data 2 in FIG. 45) are stored on a database 104 of the control computer 101.
In the conventional supervisory control system, the control computer 101 and a group of terminals 105a1, 105a2, . . . , (two terminals in the structure shown in FIG. 45) arranged, for example, remotely with respect to the control computer 101 are connected to each other through the private network 100 such that data communication is permitted. The terminals 105a1, 105a2, . . . , are operated to make access to the database 104 through the processing unit 102 of the control computer 101 so as to read the state data of the equipment devices S1, S2, . . . , as the objects for supervisory control from the database 104. In accordance with read state data, the states of the respective units S1, S2, . . . , are supervised and controlled by the terminals 105a1, 105a2, . . . .
The control computer 101 of the conventional supervisory control system is a special computer for only the object to be supervised and controlled. The structures (the data type and array information and the like) of the state data which are stored on the database 104 and data description languages thereof vary according to the corresponding objects to be supervised an controlled, but the structures of the state data themselves are rarely changed. Therefore, in the conventional system, addresses are fixedly allocated to the plurality of state data of the plurality of objects to be supervised and controlled so that the processing unit 102 of the control computer 101 is operative to store the received state data in the corresponding allocated addresses of the database 104.
Moreover, the terminals 105a1, 105a2, . . . , are operated to specify the address allocated to the state data so as to make access to the state data in the database 104.
In addition, to permit the processing unit 102 to operate the state data having different data structures, the data access programs (software modules) installed on the computer 101 are made to be discrete for every objects to be supervised and controlled.
As described above, in view of the fact that a data structure of state data of an object to be supervised and controlled is not frequently changed, the control computer of the conventional supervisory control system is operative to store the data on the database by using the method of fixedly allocating the address to the data.
However, in recent years, as substitute for the foregoing method of allocating a fixedly address to data having unchanged data structure, it is desirable to flexibly change the data structure and the address of data according to kind and state of the object to be supervised and controlled.
On the contrary, in order to correspond to the change of the data structure and the address of the data in the control computer, the data access program must be changed because the data access program (the software module) is made to be related to the data structure and the address of the data, so that it is hard to flexibly correspond to the change of the data structure and the address of the data.
Especially, in recent years, wide use of a distributed processing system results in special control computer being provided for each object to be supervised and controlled. To make the control computer general-purpose, that is, to supervise and control the object (equipment device) using different compute hardware, it must be demanded to standard the data access programs (software modules) installed on the general control computers so as to supervise and control a variety of objects by one type of standard program (software module).
In order to install the standard data access program (software module) on each control computer, it is required to permit each control computer to access, in accordance with the standard data access program, state data of various objects for supervisory control, which have different data structures and data description languages.
However, the standard data access program must include a program for converting the data structure or state data described in a data description language different from the software language in which the standard data access program is described, causing the structure of the standard data access program and the process performed by the computer in accordance with the standard access program to be complicated thereby preventing the control computer from being generalized.
The present invention is directed to overcome the foregoing problems and foregoing circumstances.
Accordingly, it is an object of the present invention is to provide a data management unit, a computer system and a computer-readable storage medium, which enable a computer to flexibly correspond to the change in the data structure, the change of the data description language and the change of the address of each object to be supervised and controlled.
Moreover, it is another object of the present invention is to provide a data management unit, a computer system and a computer-readable storage medium, which allow a general computer to make access to state data of various objects for supervisory control, which have different data structures and data description languages.
Furthermore, it is further object of the present invention is to provide a data management unit, a computer system and a computer-readable storage medium, which are capable of easily accessing state data by using a data access program (software module) described in a software language which is different from a data description language of the state data without executing a data-structure converting process.
In order to achieved such objects, according to one aspect of the present invention, there is provided a data management unit in a computer system, the computer system having a computer in which the data management unit is incorporated, and a terminal intercommunicating with the computer, the data management unit comprising: first storage means having a memory for storing, in addresses on the memory, data items to which the terminal is adapted to make access; second storage means for storing thereon parameters concerning a data structure of each data item, the parameters including a data name of each data item, a data type of each data item, an address related to each data item on the memory and an array information of at least one data item, the at least one data item having an array structure, the array information including a number of the array elements; third storage means for storing thereon a number of bytes corresponding to each data type of each data item; and producing means for making, according to the parameters concerning the data structures of the data items and the numbers of bytes of the data types, an address related to each data item in array element units on the memory correspond to each data name of each data item so as to produce a data table.
In preferred embodiment of this aspect, the producing means comprises: means for reading each top address related to each data item on the memory, each data type thereof and the array information of the at least one of the data items from the second storage means, respectively; means for reading each number of bytes corresponding to each data type from the third storage means; means for calculating each top address related to each data item for each array element according to each address, each data type, the array information and each number of bytes, which are read from the second and third storage means; and means for making each top address related to each data item in array element units correspond to each data name of each data item so as to produce the data table.
In preferred embodiment of this aspect, a data management unit further comprises obtaining means for retrieving the data table according to a data name transmitted from the terminal so as to obtain at least one address corresponding to the transmitted data name, thereby returning at least one data item stored in the at least one address on the memory to the terminal.
The preferred embodiment of this aspect has an arrangement of further comprising writing means for retrieving the data table in accordance with a data name and a data value corresponding thereto so as to obtain at least one address corresponding to the data name, thereby writing the data value into the at least one obtained address on the memory, the data name and data value being transmitted from the terminal.
In preferred embodiment of this aspect, the data items include a structure having structural data elements, the second storage means stores thereon structure parameters concerning the data structure of each structural data element of the structure, the structure parameters including a data name of each structural data element, a data type of each structural data element, an address related to each structural data element on the memory and an array information of at least one of the structural data elements, the array information including a number of array elements; and wherein the producing means includes means for making, according to the structural parameters concerning the data structure of the data items and the numbers of bytes of the data types, an address related to each structural data element in array element units on the memory correspond to each data name of each structural data element so as to produce the data table.
The preferred embodiment of this aspect has an arrangement that the structure consists of structures each having structural data elements, the second storage means stores thereon a top address of each structure as an address related to each data item on the memory, and wherein the producing means is adapted to obtain each address of each structural data element of each structure in array element units according to each top address of each structure, each number of bytes of each structural data element and the array information so as to make each obtained address of each structural data element in array element units correspond to each name of each structural data element so as to produce the data table.
In preferred embodiment of this aspect, the structure consists of structures each having structural data elements, the second storage means stores thereon a top address of each structure as an address related to each data item on the memory, and wherein the producing means comprises means adapted to obtain each offset value of each structural data element of each structure according to each top address of each structure, each number of bytes of each structural data element and the array information, the each offset value of each structural data element representing each distance between each top address of each structure and each structural data element; and means adapted to make each obtained offset value of each structural data element correspond to each name of each structural data element so as to produce the data table.
The preferred embodiment of this aspect has an arrangement that the computer comprises an auxiliary memory, the first storage means comprises means for storing, in addresses on the memory, one part of the data items and for storing another part thereof in directories in the auxiliary memory, the second storage means stores the directories in which the another part of the data items are stored in place of the addresses related to another part of the data items, and wherein the producing means is adapted to make, according to the parameters including the directories and concerning the data structures of the data items and the numbers of bytes of the data types, addresses of one part of the data items and directories of another part thereof in array element units correspond to the data names of the data items, respectively, so to produce the data table.
In order to achieve such objects, according to another aspect of the previous invention, there is provided a data management unit in a computer system, the computer system having a computer in which the data management unit is incorporated, and a terminal intercommunicating with the computer, the data management unit comprising: first storage means having a memory for storing, in addresses on the memory, data items to which the terminal is adapted to make access; second storage means for storing thereon parameters concerning a data structure of each data item, the parameters including a data name of each data item, a data type of each data item, an address related to each data item on the memory and an array information of at least one data item, the at least one data item having an array structure, the array information including a number of array elements; third storage means for storing thereon a number of bytes corresponding to each data type of each data item; and producing means for making, according to the parameters concerning the data structures of the data items and the numbers of bytes of the data types, an address related to each data item in array element units on the memory correspond to each data name of each data item so as to produce a data table; access means for retrieving the data table according to a message transmitted from the terminal so as to be capable of making access to the memory based on the retrieved result, the message including an user ID; means for registering at least one user ID that at least one user has, the at least one user being permitted to make access to the data; means for determining whether or not the at least one registered user ID in the registering means and the user ID from the terminal coincide with each other according to the transmitted message from the terminal; the user ID being included in the message transmitted therefrom; and means adapted to transmit an access permission command to the access means when the determining means determines that the at least one registered user ID and the transmitted user ID from the terminal coincide with each other, and when the determining means determines that the at least one registered user ID and the transmitted user ID do not coincide with each other, to transmit an access inhibition command to the access means, wherein the access means is adapted to make access to the memory only when the access permission command is transmitted to the access means.
For achieving such objects, according to further aspect of the present invention, there is provided a data management unit in a computer system, the computer system having a computer in which the data management unit is incorporated, and a terminal intercommunicating with the computer, the data management unit comprising: first storage means having a memory for storing, in addresses on the memory, data items to which the terminal is adapted to make access; second storage means for storing thereon parameters concerning a data structure of each data item, the parameters including a data name of each data item, a data type of each data item, an address related to each data item on the memory and an array information of at least one data item, the at least one data item having an array structure, the array information including a number of array elements; third storage means for storing thereon a number of bytes corresponding to each data type of each data item; producing means for making, according to the parameters concerning the data structures of the data items and the numbers of bytes of the data types, an address related to each data item in array element units on the memory correspond to each data name of each data item so as to produce a data table; access means adapted to retrieve the data table according to a message transmitted from the terminal so as to be capable of making access to the memory based on the retrieved result, the message including a user ID; means for registering user groups, the user groups being permitted to make access to the memory; means for setting at least one user ID so to belong to the at least one user group; means for determining whether or not the user ID from the terminal belongs to at least one of the registered user groups according to a registered content of the registering means and a set content of the setting means, the user ID being included in the message transmitted from the terminal; and means adapted to transmit an access permission command to the access means when the determining means determines that the transmitted user ID belongs to the at least one of the registered user groups, and when the determining means determines that the transmitted user ID do not belong to the at least one of the registered user groups, to transmit an access inhibition command to the access means, wherein the access means is adapted to make access to the memory only when the access permission command is transmitted to the access means.
To achieve such objects, according to still further aspect of the present invention, there is provided a computer system comprising: a computer in which the data management unit according to claim 1 is incorporated; a terminal intercommunicating with the computer; a card that a user has, the card storing thereon a user name and a password of the user; and means for reading the user name and the password from the card so as to authenticate whether or not the user is permitted to use the terminal.
In order to achieve such objects, according to still further aspect of the present invention, there is provided a computer-readable storage medium comprising: data items to which a computer is adapted to make access; a parameter file storing thereon parameters concerning a data structure of each data item, the parameters including a data name of each data item, a data type of each data item, an address related to each data item on the memory and an array infraction of at least one data item, the at least one data item having an array structure, the array information including a number of array elements; a table storing thereon a number of bytes corresponding to each data type of each data item; and means for causing a computer to make, according to the parameters concerning the data structures of the data items and the numbers of bytes of the data types, an address related to each data item in array element units correspond to each data name of each data item so as to produce a data table.
As described above, according to the present invention, the producing means produces, from the parameters concerning the data structures of the data items of the second storage means and the numbers of bytes of the data types, the data table including the address related to each data item in array element units on the memory and each data name of each data item corresponding to each other.
Therefore, it is possible to access to the first storage unit (database) by using the data table from the terminal so as to obtain and change the data (data of a unit for control) therefrom, thereby accessing to the first storage unit by using the data name without any attention of the data address.
Specifically, the present invention is able to easily change the data address and the structure of data by only changing the stored contents on the second storage means.
Moreover, in the present invention, the data table is produced so that data access is permitted if the data description language and the language of program for data access are different from each other.
Furthermore, the present invention is adapted to reuse the data table and simplify the method of producing the data table so that it is possible to shorten time required to boot the data management unit.
In the present invention, it is able to select the memory or the auxiliary memory for storing thereon the data, making it possible to perform the data access in a large quantity.
Still furthermore, in the present invention, limitation information for limiting a content of access to each data item is stored in the second storage unit. Therefore, it is possible to improve the security required when data in the data management unit is used.
According to the present invention, when a user ID is inputted to the access means from a terminal, the determination means determines whether or not the user ID from the terminal belongs to at least one of the registered user, or whether or not the registered user ID and the transmitted user ID from the terminal coincide with each other so as to transmit the determination result by the determination means to the access means.
Therefore, access from an invalid user from a terminal to data in the data management unit to set or obtain data can be prevented.
In the present invention, the determination means periodically reads the registered contents of the registering means and the set contents of the setting means so as to periodically determine whether or not the user ID from the terminal belongs to at least one of the registered user groups according to the results periodically read from the registering means and the setting means.
Therefore, when the user who is able to access the access means is changed or the group to which the user belongs is changed, the contents of the update can periodically and reliably be reflected on the security checking function of the producing means.
The present invention permits the user ID or the user group which is able to use the method to be instructed to the user ID for each method of the access means. Therefore, setting of security in data process units can be performed.
In the present invention, because the reading means reads the user name and the password from the card so as to authenticate whether or not the user is permitted to use the terminal, it is possible to execute the double security by the terminal and the data management unit, whereby improving that security.